const path = require("path");
const fs = require("fs");

module.exports = function (content) {
  //异步loader，必须通过this.callback来返回文件处理的结果，不能使用return
  //在异步loader中，使用异步方式调用this.callback之前，必须调用this.async
  // 这样webpack就不会把loader函数返回undefined作为loader的处理结果，而是等待callback被调用
  this.async(); //关键第一步
  let result = "";
  setTimeout(() => {
    result = `export default "hello world"`;
    this.callback(null, result);
  }, 1000);

  //函数return的时候，setTimeout的回调还没有被调用，此时result并不是想要的结果
  //所以loader中包含异步处理的时候，不能用return返回处理结果，只能使用callback
  //return result
};
